const ReactElement = function(type, key, ref, self, source, owner, props) {
  //这就是最终的 “虚拟 DOM 元素”，它是一个普通 JavaScript 对象，用于描述 DOM 节点的信息。
  const element = {
    // This tag allows us to uniquely identify this as a React Element
    $$typeof: REACT_ELEMENT_TYPE,//一个全局唯一的 Symbol，通常是 Symbol.for('react.element')
    // 这个属性的主要作用是： 明确区分 “React 元素” 和普通 JavaScript 对象（避免混淆）。
    // 安全防护：由于 Symbol 无法被 JSON 序列化，可防止通过 JSON.parse 伪造 React 元素导致的 XSS 攻击（恶意代码无法伪造这个标识）。

    type: type,
    key: key,//在列表渲染时，React 通过 key 识别元素的唯一性，优化 diff 算法（避免不必要的 DOM 重绘）。
    ref: ref,//允许开发者直接访问该元素对应的真实 DOM 节点或组件实例（如 ref.current 获取 DOM）
    props: props,
    //开发者传入的普通属性（如 className、style）；
    // 子元素（children，通过 createElement 的 ...children 收集）；
    // 经过 defaultProps 处理后的默认属性。
    _owner: owner,//存储创建该元素的 “所有者” 组件（通常是当前渲染上下文的组件）
  };
  return element;
};